package com.phiture.erp.purchase.core.pojo.dto;

import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author YH
 * @date 2025-06-03-14:10
 */

@Getter
@Setter
public class ErpPurchaseOrderDTO {
    /**
     * 采购申请单ID
     */
    private Long requestId;
    private Long requestItemId;

    /**
     * 采购订单号
     */
    private String no;
    /**
     * 采购状态
     */
    private Integer status;
    /**
     * 供应商编号
     *
     */
    private Long supplierId;
    /**
     * 结算账户编号
     *
     */
    private Long accountId;
    /**
     * 下单时间
     */
    private LocalDateTime orderTime;

    /**
     * 合计数量
     */
    private BigDecimal totalCount;
    /**
     * 最终合计价格，单位：元
     *
     * totalPrice = totalMaterialPrice + totalTaxPrice - discountPrice
     */
    private BigDecimal totalPrice;

    /**
     * 合计物料价格，单位：元
     */
    private BigDecimal totalMaterialPrice;
    /**
     * 合计税额，单位：元
     */
    private BigDecimal totalTaxPrice;
    /**
     * 优惠率，百分比
     */
    private BigDecimal discountPercent;
    /**
     * 优惠金额，单位：元
     *
     * discountPrice = (totalMaterialPrice + totalTaxPrice) * discountPercent
     */
    private BigDecimal discountPrice;
    /**
     * 定金金额，单位：元
     */
    private BigDecimal depositPrice;

    /**
     * 附件地址
     */
    private String fileUrl;
    /**
     * 备注
     */
    private String remark;

    // ========== 采购入库 ==========
    /**
     * 采购入库数量
     */
    private BigDecimal inCount;

    // ========== 采购退货（出库）） ==========
    /**
     * 采购退货数量
     */
    private BigDecimal returnCount;

    private Boolean merged;

    private ErpPurchaseOrderItemDTO item;
}
